package com.mfnote.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * 数据库帮助类
 * @author ZHF
 *
 */
public class DBHelper extends SQLiteOpenHelper {

	public static DBHelper instance = null;
	
	/** 公开的实例化方法 **/
	public static DBHelper getInstance(Context context) {
		if (instance == null) {
			instance = new DBHelper(context);
		}
		return instance;
	}

	private DBHelper(Context context) { // 单例模式
		super(context, DBInfo.DB_NAME, null, DBInfo.VERSION);
	}


	/** 首次创建数据库时会被调用调用 **/
	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL(DBInfo.Table.CREATE_TB_MAINRECORD); // 创建表
		db.execSQL(DBInfo.Table.CREATE_TB_WRITE);
		db.execSQL(DBInfo.Table.CREATE_TB_PAINT);
		db.execSQL(DBInfo.Table.CREATE_TB_HAND);
		db.execSQL(DBInfo.Table.CREATE_TB_RECORD);
		db.execSQL(DBInfo.Table.CREATE_TB_NEWWRITEREMIND);
		
		//初始化数据，防止列表为空，适配器中data--》NullPointerException
		db.execSQL("insert into mainRecord(writeCount, paintCount, handCount, recordCount) values (1,0,0,0);");

		db.execSQL("insert into write(title, content, imagePath,videoPath,time,color,background,lock) values ('点我开始记事','','','','','-16777216','2130837517',1);");//数据库中存放的黑色值
		db.execSQL("insert into write(title, content, imagePath,videoPath,time,color,background,lock) values ('欢迎使用MFNote智能笔记','hello,欢迎使用MFNote笔记。MFNote能为您做些什么呢[问号]                  						      1.同步功能。使用MFNote中登录模块，绑定百度云盘，即可享受资料云端备份，笔记内容和附件永不丢失。[害怕]    2.智能提醒。只要在笔记里添加提醒词库，在您平时保存时即可自动生成提醒列表，方便您的日程安排。[可爱]     3.友好的交互。[鬼脸]摇动新建笔记，任意选择桌面快捷方式，便捷、美观的桌面插件         4.强大的富文本编辑。能够在笔记里[笑脸]添加图片，表情，视频。		5.其余模块。涂鸦，笔迹，录音，分类记录更加明确，（笔迹中手势模块仍在开发中。。。敬请期待！[媚眼]）','','','','-16777216','2130837517',1);");
		db.execSQL("insert into write(title, content, imagePath,videoPath,time,color,background,lock) values ('来自MFNote团队','[可爱]各位华北五省大学生计算机应用大赛评委老师好，非常高兴参加这么一个能够激发我们热情的比赛。本着体验良好和功能实用性的原则，我们开发出了这款有着自己特色的软件，云备份和百度云盘的结合，独具特色的智能提醒，友好交互和Win8扁平风格设计。感谢华北五省计算机应用大赛这个平台，丰富了我们的的项目开发经验，将所学应用到实际。最后祝各位评委们身体健康，万事如意！[鬼脸]                                          ----MFNote团队','','','','-16777216','2130837517',1);");
		db.execSQL("insert into paint(title, imagePath, time) values ('点我开始涂鸦','','');");
		db.execSQL("insert into hand(title, imagePath,time,flag) values ('点我开始笔迹','0','',1);");
		db.execSQL("insert into record(title, recordPath, time, recordLength,size) values ('点我开始录音','','',60,25);");
		db.execSQL("insert into remind(title,groupId) values ('开会',0);");
		

	}

	/** 数据库版本升级或名称发生改变时才会被调用，一般不会调用 **/
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL(DBInfo.Table.DROP_TB_MAINRECORD); // 删除表
		db.execSQL(DBInfo.Table.CREATE_TB_WRITE);
		db.execSQL(DBInfo.Table.CREATE_TB_PAINT);
		db.execSQL(DBInfo.Table.CREATE_TB_HAND);
		db.execSQL(DBInfo.Table.CREATE_TB_RECORD);

		onCreate(db); // 重新再创建表
	}
}
